package Others.DesignPattern.AbstractFactoryPattern.Pattern;


import Others.DesignPattern.AbstractFactoryPattern.Pattern.Object1.*;

public class main1 {
    public static void main(String[] args) {
       //简单工厂----》进一步引出：反射+配置文件
        User user = new User("1");
        Department department = new Department("1");

        //现在同样--只需要修改这里的参数即可改变数据库类型--但是相对抽象工厂来说，需要改动的内容变多了
        //之前使用抽象工厂只需要新增工厂类即可（但是类太过繁杂）
        //但是现在就要修改SQLData内的内容了----应为有Switch case语句--那能不能优化掉呢？
        //当然可以--采用反射+配置文件的方式进行解决
        SQLData mySQL = new SQLData("Oracle");
//        SQLData mySQL = new SQLData("MySQL");
        IUser CommonUser = mySQL.createUser();
        CommonUser.Insert(user);
        CommonUser.GetUser("1");
        System.out.println();
        IDepartment CommonDepartment = mySQL.createDepartment();
        CommonDepartment.Insert(department);
        CommonDepartment.GetUser("1");


    }
}
